1. Technical Field
Generally the invention relates to the compression of digital video signals which are stored and played back in real-time on a digital computer. More particularly the invention relates to a method of data compression that supports real-time recovery, decompression, reconstruction, and display of digitized video signals on a minimal personal computer system and specifically, the invention relates to hybrid methods of compression of digital video that enables real-time video decompression and playback with a computational load readily carried by the central processing unit (CPU) of low-end personal computers (e.g. a computer based upon an Intel 80386SX processor running at 16 mhz) without hardware modification of the computer while maintaining satisfactory high level perceived video quality by retaining the fidelity of the original video data, providing an optimization balance of compression, ease in decoding and video quality.
2. Description of the Related Art
A video signal is a sequence of images or frames, which are displayed at a given frame rate (e.g., 15 to 30 frames-per-second) to simulate the appearance of motion to a human observer. In a personal computer system, each frame of digitized video includes a digital representation of each pixel in the frame. A frame may have in excess of one half a million pixels. If full frames were replaced at a frame rate in excess of 15 frames-per second, a computer would be required to recover from storage and write to video memory over seven million bytes of data each second. Few current auxiliary data storage devices have the bandwidth required to pass such levels of data. Further, storage of only a few full frames of digitized video would fill most storage devices.
As used here, bandwidth means the volume of data per unit of time which can be recovered from an auxiliary storage device. Data compression is used to accommodate auxiliary storage devices in the storage and recovery of video segments for playback in real time and to reduce traffic on the system bus.
Data compression allows an image or video segment to be transmitted and stored in substantially fewer bytes of data than required for full frame reproduction. Data compression can be based on eliminating redundant information from frame to frame in a digitized video segment (interframe or temporal compression), or by eliminating redundant information from pixel to pixel in individual frames (intraframe or spatial compression). Video compression techniques that are "lossy" do not fully preserve all the information originally captured in a scene.
Frame differencing compression methods, a form of interframe compression, exploit the temporal redundancy that exists between digital video frames from the same scene recorded moments apart in time. This reduces the required data needed to encode each frame. Two successive frames from a sequence of digital motion video frames are compared region by region (or pixel by pixel). The comparison process determines whether two corresponding regions are the same or different. The size and location of each region and the nature of the comparison and the definition of "same" and "different" depends on the set of thresholds supplied during compression.
Before a temporal redundancy can exist, one frame represents a point in time before another frame. If two regions being compared are the same, then the pixels in the regions from frame N do not need to be encoded and stored if the pixels in a frame N-1 are already known. When two regions are different, the pixels in the later frame must be encoded and stored. When each region of two frames have been compared, encoded and stored, the process moves to the next pair of frames. During playback, the decompression process adds the stored information for each frame to the current state of the display memory using a process that is the logical reverse of the encoding process.
In low-end personal computers, the CPU handles rewriting of the video memory buffer. Rewriting of the entire buffer every one fifteenth of a second would represent an excessive load on the CPU. Full frame storage and recovery is rarely, if ever, used for video playback on computer systems. Digital video generation on digital computers can be achieved by using frame differencing techniques to compress the data for storage and passage to and from storage. In general terms, frame differencing codes only such information that differs from one frame to the next. In reconstruction of a frame, the old frame residing in display memory is rewritten only to the extent changed. Since few of the pixels typically change from frame to frame, frame differencing techniques save considerable storage space and substantially reduce the bandwidth demands on auxiliary storage devices. However, such techniques require processor involvement to decompress video signal data to rewrite the changed portions of the frame. Typically, and in low end personal computers almost certainly, processor involvement takes the form of the CPU decompressing the data stream from the auxiliary storage device and writing the changed sections of the frame stored in the video buffer.
It is desirable to have a video compression method based on intraframe and interframe compression techniques that provides an optimal balance of compression, ease of decoding for minimal computer systems, and high video quality for the compression of video segments that exhibit texture and high-levels of motion.